#ifndef FRAME_H
#define FRAME_H

#include <QList>
#include <QTime>

#include "vehicleframe.h"
#include "trafficcontrolframe.h"

class Frame
{
public:
  enum FrameType
  {
    FRAME_FULL,
    FRAME_DIFF
  };

  typedef QList<VehicleFrame*> VehicleList;
  typedef QList<TrafficControlFrame*> TrafficControlFrameList;

  Frame(FrameType type);

  void addVehicle(VehicleFrame* frame);
  void addTrafficControlFrame(TrafficControlFrame* frame);
  FrameType type() const;
  VehicleList vehicles() const;
  TrafficControlFrameList trafficControlFrames() const;
  QTime mTime;
protected:
  FrameType mType;
  VehicleList mVehicles;
  TrafficControlFrameList mTrafficControlFrames;

};

#endif
